package com.rybbaby.tss.front.tssClassesLessons.entity;

import com.rybbaby.tss.front.tssClassRoom.entity.TssClassRoom;
import com.rybbaby.tss.front.tssClasses.entity.TssClasses;
import com.rybbaby.tss.platform.sysAdminUser.entity.SysAdminUser;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Time;
import java.util.Date;

/**
 * @description 班级表
 * 
 * @author 雷春琼
 * 
 * @createDate 2017-08-09 下午11:50:14
 */
@Entity
@Table(name = "tss_class_lessons")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssClassesLessons implements Serializable {
	

	/** 主键 **/
	private String id;

	/**
	 * 课程次数
	 */
	private Integer classIndexTime;
	/**
	 * 班级Id
	 */
	private String classId;
	/** 上课时间 **/
	private Date classTime;
	/** 周几上课 **/
	private Integer weekDay;
	/**
	 * 背景颜色
	 */
	private String bgColor;
	/** 备注 **/
	private String  remark;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 版本**/
	private Integer version;

	/** 上课开始时间 **/
	private java.sql.Time startTime;
	/** 上课截止时间 **/
	private java.sql.Time endTime;

	/** 上课教室Id **/
	private String roomId;
	/** 授课老师Id **/
	private String adminUserId;
	/**  课节状态 1正常 2退课 **/
	private Integer status;


	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "tss_classesIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_classesIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}


	/**
	 * 方法: 取得周几上课
	 *
	 * @return java.lang.Integer 周几上课
	 */
	@Column(name = "weekDay", nullable= true, length = 11)
	public Integer getWeekDay() {
		return this.weekDay;
	}
	
	/**
	 * 方法: 设置周几上课
	 *
	 * @param weekDay 周几上课
	 */
	public void setWeekDay(Integer weekDay) {
		this.weekDay = weekDay;
	}
	


	
	/**
	 * 方法: 取得课时背景颜色
	 *
	 * @return java.lang.String 课时背景颜色
	 */
	@Column(name = "bgColor", nullable= true, length = 12)
	public String getBgColor() {
		return this.bgColor;
	}
	
	/**
	 * 方法: 设置课时背景颜色
	 *
	 * @param bgColor 课时背景颜色
	 */
	public void setBgColor(String bgColor) {
		this.bgColor = bgColor;
	}
	


	

	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}

	
	/**
	 * 方法: 取得选班人数
	 *
	 * @return java.lang.Integer 选班人数
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}

	@Column(name = "classId", nullable= true, length = 32)
	public String getClassId() {
		return classId;
	}

	public void setClassId(String classId) {
		this.classId = classId;
	}

	@Column(name = "remark", nullable= true, length = 200)
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	@Column(name = "classTime", nullable= true, length = 19)
	public Date getClassTime() {
		return classTime;
	}

	public void setClassTime(Date classTime) {
		this.classTime = classTime;
	}

	/**
	 * 方法: 取得上课教室Id
	 *
	 * @return java.lang.String 上课教室Id
	 */
	@Column(name = "roomId", nullable= true, length = 32)
	public String getRoomId() {
		return this.roomId;
	}

	/**
	 * 方法: 设置上课教室Id
	 *
	 * @param roomId 上课教室Id
	 */
	public void setRoomId(String roomId) {
		this.roomId = roomId;
	}



	/**
	 * 方法: 设置上课开始时间
	 *
	 * @param startTime 上课开始时间
	 */
	public void setStartTime(java.sql.Time startTime) {
		this.startTime = startTime;
	}

	/**
	 * 方法: 取得上课截止时间
	 *
	 * @return java.sql.Time 上课截止时间
	 */
	@Column(name = "endTime", nullable= true, length = 10)
	public java.sql.Time getEndTime() {
		return this.endTime;
	}

	/**
	 * 方法: 设置上课截止时间
	 *
	 * @param endTime 上课截止时间
	 */
	public void setEndTime(java.sql.Time endTime) {
		this.endTime = endTime;
	}

	@Column(name = "startTime", nullable= true, length = 10)
	public Time getStartTime() {
		return startTime;
	}

	@Column(name = "status", nullable= true, length = 11)
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	@Column(name = "classIndexTime", nullable= true, length = 11)
	public Integer getClassIndexTime() {
		return classIndexTime;
	}

	public void setClassIndexTime(Integer classIndexTime) {
		this.classIndexTime = classIndexTime;
	}


	@Column(name = "adminUserId", nullable= true, length = 32)
	public String getAdminUserId() {
		return adminUserId;
	}

	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}
}